package com.brillilab.service.core.aliyun;

import com.brillilab.domain.vo.message.SmsSendVo;

import java.util.Map;

/**
 * 阿里云推送服务
 *
 * @author lj
 */
public interface IAliYunSmsService {

    /**
     * 阿里云短信验证码发送接口
     *
     * @param mobile 手机号
     * @return String 验证码
     */
    boolean sendVerifyCode(String mobile);

    /**
     * 阿里云短信验证码发送接口
     *
     * @param mobile   手机号
     * @param resumeTime 失效时间
     * @return
     */
    boolean sendVerifyCode(String mobile, Integer resumeTime);

    /**
     * 阿里云短信验证码发送接口
     *
     * @param mobile       手机号
     * @param templateCode 模板编号
     * @param paramMap     替换变量集合
     * @return
     */
    boolean sendSmsContent(String mobile, String templateCode, Map<String, Object> paramMap);

    /**
     * 阿里云短信通用发送接口接口
     *
     * @param smsSendVo
     * @return SendSmsResponse
     * @throws Exception
     */
    boolean sendSms(SmsSendVo smsSendVo);

    /**
     * 发送授权码
     *
     * @param mobile
     * @param labId
     * @return
     */
    boolean sendEmpowerCode(String mobile, Long labId);
}
